#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

bool record[1000][1000];

int divUp(int n1,int n2)
{
    float r=float(n1)/n2;
    if(r>int(r))
        return int(r)+1;
    else
        return int(r);
}

int isIntersect(int w,int h,int s,int t,int P,int Q,int x11,int y11,int w2,int h2)
{
    int x12=x11+w2;
    int y12=y11+h2;

    int iStart=-1;
    int i; //iEnd
    for(i=0;s*i+w<=P;i++)
    {
        int x01=s*i;
        int x02=x01+w;
        if(iStart==-1 && (x01>x11 || (x11>=x01 && x11<x02)))
        {
            iStart=i;
            int upI=divUp(x12,s);
            int downI=((P-w)/s)+1;
            i=min(upI,downI);
            break;
        }
    }
    //int iNum=i-iStart;

    int jStart=-1;
    int j;
    for(j=0;t*j+h<=Q;j++)
    {
        int y01=t*j;
        int y02=y01+h;
        if(jStart==-1 && (y01>y11 || (y11>=y01 && y11<y02)))
        {
            jStart=j;
            int upJ=divUp(y12,t);
            int downJ=((Q-h)/t)+1;
            j=min(upJ,downJ);
            break;
        }
    }
    //int jNum=j-jStart;

    int r=0;
    for(int ii=iStart;ii<i;ii++)
    {
        for(int jj=jStart;jj<j;jj++)
        {
            if(record[ii][jj]==false)
            {
                r++;
                record[ii][jj]=true;
            }
        }
    }

    return r;
}

int isInclude(int x01,int y01,int w1,int h1,int x11,int y11,int w2,int h2)
{
    int x02=x01+w1;
    int y02=y01+h1;
    int x12=x11+w2;
    int y12=y11+h2;
    if(x01>=x11 && y01>=y11 && x02<=x12 && y02<=y12)
        return 1;
    else if(x01<=x11 && y01<=y11 && x02>=x12 && y02>=y12)
        return 0;
    else
        return -1;
}

struct box
{
    int x;
    int y;
    int w;
    int h;
};

int main() {
    int w,h,s,t,k,P,Q;
    cin>>w>>h>>s>>t>>k>>P>>Q;
    vector<box> allBox;
    for(int i=0;i<k;i++)
    {
        box b;
        cin>>b.x>>b.y>>b.w>>b.h;
        bool flag=true;
        for(int i=0;i<allBox.size();i++)
        {
            box b2=allBox[i];
            int r=isInclude(b.x,b.y,b.w,b.h,b2.x,b2.y,b2.w,b2.h);
            if(r==0)
            {
                flag=false;
                allBox[i]=b;
                break;
            }
            else if(r==1)
            {
                flag=false;
                break;
            }
        }
        if(flag)
            allBox.push_back(b);
    }

    for(int i=0;i<1000;i++)
    {
        for(int j=0;j<1000;j++)
            record[i][j]=false;
    }

    int r=0;
    for(box b : allBox)
    {
        r+=isIntersect(w,h,s,t,P,Q,b.x,b.y,b.w,b.h);
    }
    cout<<r;
    return 0;
}

